package br.ufrn.sigtcc.model.entidades;

import java.util.ArrayList;
import java.util.List;

import javax.faces.model.SelectItem;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

import br.ufrn.sigtcc.model.utils.EEstado;

/**
 * Entity implementation class for Entity: EntidadeEndereco
 *
 */

@Entity
@Table(name="ENDERECO")
public class Endereco {


	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	private Long id;
	@Column(length = 30, nullable = false)
	private String logradouro;
	@Column(length = 20, nullable = false)
	private String bairro;
	@Column(length = 20, nullable = false)
	private String municipio;
	@Column(length = 2, nullable = false)
	private String uf;
	@Column(length = 10, nullable = false)
	private String cep;
	@Column(nullable = false)
	private String numero;
	@Column(length = 60)
	private String complemento;
	
	@Transient
	private static final long serialVersionUID = 1L;
	
	public Endereco() {
		
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getLogradouro() {
		return logradouro;
	}

	public void setLogradouro(String logradouro) {
		this.logradouro = logradouro;
	}

	public String getBairro() {
		return bairro;
	}

	public void setBairro(String bairro) {
		this.bairro = bairro;
	}

	public String getMunicipio() {
		return municipio;
	}

	public void setMunicipio(String municipio) {
		this.municipio = municipio;
	}

	public String getUf() {
		return uf;
	}

	public void setUf(String uf) {
		this.uf = uf;
	}

	public String getCep() {
		return cep;
	}

	public void setCep(String cep) {
		this.cep = cep;
	}

	public String getNumero() {
		return numero;
	}

	public void setNumero(String numero) {
		this.numero = numero;
	}

	public String getComplemento() {
		return complemento;
	}

	public void setComplemento(String complemento) {
		this.complemento = complemento;
	}   
	
	// ----- COMPLEMENTARES ------ //
	
	 public List<SelectItem> getEstados()
	  {
	    List<SelectItem> items = new ArrayList<SelectItem>();
	    for (EEstado estado: EEstado.values())
	    {
	       items.add(new SelectItem(estado.getNomeExtenso(), estado.getNomeExtenso()));
	   }
	return items;
	  }
	

}
